package org.zhq.service;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.zhq.pojo.UserAddress;
import org.zhq.pojo.bo.AddressBO;

import java.util.List;

public interface AddressService {
    /**
     * 根据用户id 查询用户的收货地址列表
     * @param userId
     * @return
     */
    List<UserAddress> queryAll(String userId);

    /**
     * 用户新增地址
     * @param addressBO
     */
    void addNewUserAddress(AddressBO addressBO);

    /**
     * 用户修改地址
     * @param addressBO
     */
    void updateUserAddress(AddressBO addressBO);

    /**
     * 用户删除地址
     * @param userId
     * @param addressId
     */
    void deleteUserAddress(String userId,String addressId);

    /**
     * 用户设置默认地址
     * @param userId
     * @param addressId
     */
    void updateUserAddressToBeDefault(String userId,String addressId);


    /**
     * 根据用户id 地址id 查询用户地址
     * @param userId
     * @param addressId
     * @return
     */
    UserAddress queryUserAddress(String userId,String addressId);
}
